SOQL (Salesforce Object Query Language) এবং SOSL (Salesforce Object Search Language) উভয়ই Salesforce প্ল্যাটফর্মে ডেটা অনুসন্ধান ও পুনরুদ্ধার করার জন্য ব্যবহৃত হয়, তবে তাদের ভূমিকা এবং ব্যবহার আলাদা।
SOQL হলো Salesforce-এর নিজস্ব কুয়েরি ভাষা যা নির্দিষ্ট অবজেক্ট থেকে ডেটা পুনরুদ্ধার করতে ব্যবহৃত হয়। এটি অনেকটা SQL-এর মতো কাজ করে, কিন্তু SOQL শুধুমাত্র Salesforce অবজেক্টের উপর কুয়েরি চালাতে পারে।
SOQL মূলত তখন ব্যবহার করা হয় যখন ডেভেলপাররা নির্দিষ্ট অবজেক্টের নির্দিষ্ট ফিল্ডে থাকা ডেটা অনুসন্ধান করতে চান। উদাহরণস্বরূপ, Account
বা Contact
অবজেক্ট থেকে নির্দিষ্ট কিছু রেকর্ড এবং ফিল্ড পুনরুদ্ধার করতে SOQL ব্যবহার করা হয়।
// Account অবজেক্ট থেকে Id এবং Name ফিল্ডের ডেটা পুনরুদ্ধার
List<Account> accounts = [SELECT Id, Name FROM Account WHERE Industry = 'Technology'];
// Aggregate Function ব্যবহার
AggregateResult[] results = [SELECT COUNT(Id), AVG(AnnualRevenue) FROM Account WHERE Industry = 'Manufacturing'];
SOSL হলো Salesforce-এর সার্চ ভাষা, যা Salesforce ডেটাবেজের একাধিক অবজেক্টে একসাথে অনুসন্ধান করতে ব্যবহৃত হয়। এটি মূলত তখন ব্যবহার করা হয়, যখন ডেভেলপাররা একাধিক অবজেক্টের বিভিন্ন ফিল্ডে নির্দিষ্ট কী-ওয়ার্ড ভিত্তিক সার্চ করতে চান।
SOSL ব্যবহার করে সার্চ চালানো হলে একাধিক অবজেক্টের মধ্যে একটি কী-ওয়ার্ড খুঁজে সব মিল থাকা রেকর্ডকে রিটার্ন করা হয়। এটি অনেকটা সার্চ ইঞ্জিনের মতো কাজ করে।
// বিভিন্ন অবজেক্টে 'John' নামে থাকা সমস্ত রেকর্ড খুঁজে বের করা
List<List<SObject>> searchResults = [FIND 'John' IN ALL FIELDS RETURNING Account(Name), Contact(FirstName, LastName)];
// Contact এবং Account অবজেক্টে নির্দিষ্ট তথ্য সার্চ করা
List<List<SObject>> searchResults = [FIND 'Tech' IN ALL FIELDS RETURNING Account(Name), Opportunity(Name)];
বৈশিষ্ট্য | SOQL | SOSL |
---|---|---|
ব্যবহার | নির্দিষ্ট অবজেক্টের ডেটা কুয়েরি করতে | একাধিক অবজেক্টে কী-ওয়ার্ড সার্চ করতে |
কুয়েরি ভাষা | SELECT কিওয়ার্ড ব্যবহার করে | FIND কিওয়ার্ড ব্যবহার করে |
ফিল্টারিং | WHERE ক্লজ দিয়ে ফিল্টার করা যায় | ফিল্টারিং কম; নির্দিষ্ট অবজেক্টের সার্চ |
Aggregate Functions | সমর্থিত | সমর্থিত নয় |
Parent-Child Relationship | সমর্থিত | সমর্থিত নয় |
ফিল্ড টাইপ | নির্দিষ্ট ফিল্ডে অনুসন্ধান | সমস্ত ফিল্ডে অনুসন্ধান |
SOQL এবং SOSL উভয়ই Salesforce প্ল্যাটফর্মে ডেটা অনুসন্ধান এবং পুনরুদ্ধারের জন্য গুরুত্বপূর্ণ ভূমিকা পালন করে। SOQL নির্দিষ্ট অবজেক্টের ডেটা কুয়েরি এবং সম্পর্কিত তথ্য পুনরুদ্ধার করতে ব্যবহৃত হয়, যেখানে SOSL ব্যবহার করে একাধিক অবজেক্টের বিভিন্ন ফিল্ডে দ্রুত কী-ওয়ার্ড ভিত্তিক সার্চ করা যায়। SOQL-এর অ্যাগ্রিগেট ফাংশন এবং Relationship Query-এর মত ফিচারগুলো বিশ্লেষণ এবং রিপোর্টিংয়ে সহায়ক, অন্যদিকে SOSL মাল্টি-অবজেক্ট সার্চে অত্যন্ত কার্যকরী।
common.read_more